Analitikus függvénykiértékelés
Analitikus függvénykiértékelés
[szerkesztés]A matematika és fizika terén mindig függvények kötnek össze változókat, legáltalánosabb esetben a következő alakban f(x) = y. Ezzel egyenértékű az az állítás, hogy minden x értéknek megfelel egy jól meghatározott y érték. Numerikus analízis terén gyakran megjelenik a behelyettesítés értékének a meghatározásának a problémája. Többek között az integrálok numerikus analízisében, a kvadratúráknál.
Bizonyos esetekben a függvényértékek kiszámításánál megjelennek a Taylor-, illetve a Maclaurin-sorok. Ezek megfelelő esetben egyre pontosabb értéket térítenek vissza, minél inkább növeljük a lépések számát.
Általános esetben megkeressük a függvény Maclaurin-sorát, majd a sor alapján meghatározunk egy rekurrenciás képletet. A képletet megfelelő módon implementálva egy programba, azt addig engedjük futni, míg a kívánt eredmény az általunk meghatározott hibakorláton belül esik.
A rekurrenció a következő formában hasznos programozásban: , ahol az
típusú függvény
[szerkesztés]Maclaurin sor:
Rekurrenciás képlet:
A tagok számát növelve, a pontossága is növekszik a behelyettesítési értéknek.
Python kód
[szerkesztés]import math
def maclaurin(a, x, e):
u = 1
n = 0
T = 1
while (math.sqrt(u*u)>e):
u = x*u*(a-n)/(n+1)
T = T + u
n = n + 1
return T
, exponenciális függvény
[szerkesztés]Maclaurin sor:
Rekurrenciás képlet:
Python kód
[szerkesztés]import math
def exp(x, e):
u = 1
n = 0
T = 1
while (math.sqrt(u*u)>e):
u = x*u/(n+1)
T = T + u
n = n + 1
return T
A természetes logaritmus függvény
[szerkesztés]Maclaurin-sor:
,
Rekurrenciás képlet:
Python kód
[szerkesztés]import math
def ln(x, e):
u = x
n = 0
T = x
while (math.sqrt(u*u)>e):
n = n + 1
u = -u*n*x/(n+1)
T = T + u
return T
Sin(x) függvény
[szerkesztés]
Rekurrenciás képlet:
Python kód
[szerkesztés]import math
def sin(x, e):
u = x
n = 0
T = x
while (math.sqrt(u*u)>e):
n = n + 1
u = -u*x*x/((2n+1)*(2n))
T = T + u
return T
Lásd még
[szerkesztés]Források
[szerkesztés]- Numerikus módszerek (egyetemi jegyzet): Lázár Zsolt, Lázár József, Járai-Szabó Ferenc, Bábes-Bólyai Tudomány Egyetem, Fizika kar